﻿

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using VIA.SiMoJi.Domain.Electronics;
using VIA.Integration;
using VIA.Project.Domain.Devices;
using VIA.Integration.LeadShine;

namespace Via.SiMoJi.Domain.HardWare
{  
    public class ElectronicsTemplate
    {
        public readonly static ElectronicsTemplate Default = new ElectronicsTemplate();
        static DMCController _controller;
        public static DMCController SwitchController => _controller;
        public Dictionary<int, CardIoPoint> InputPoints { get; } = new();
        public Dictionary<int, CardIoPoint> OutputPoints { get; } = new();    
        public Dictionary<string, CardIoPoint> InputPoints2 { get; } = new();
        public Dictionary<string, CardIoPoint> OutputPoints2 { get; } = new();  
        
        #region 输入
        
                 /// <summary>
        ///  面板启动按钮,输入地址：X0
        /// </summary>
         public CardIoPoint DI01_面板启动按钮 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 8);

                /// <summary>
        ///  面板停止按钮,输入地址：X1
        /// </summary>
         public CardIoPoint DI02_面板停止按钮 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 9);

                /// <summary>
        ///  面板复位按钮,输入地址：X2
        /// </summary>
         public CardIoPoint DI03_面板复位按钮 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 10);

                /// <summary>
        ///  手动自动旋钮手动,输入地址：X3
        /// </summary>
         public CardIoPoint DI04_手动自动旋钮手动 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 11);

                /// <summary>
        ///  手动自动旋钮自动,输入地址：X4
        /// </summary>
         public CardIoPoint DI05_手动自动旋钮自动 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 12);

                /// <summary>
        ///  面板急停按钮,输入地址：X5
        /// </summary>
         public CardIoPoint DI06_面板急停按钮 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 13);

                /// <summary>
        ///  背面急停按钮,输入地址：X6
        /// </summary>
         public CardIoPoint DI07_背面急停按钮 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 14);

                /// <summary>
        ///  总气源气压表,输入地址：X7
        /// </summary>
         public CardIoPoint DI08_总气源气压表 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 15);

                /// <summary>
        ///  门禁报警信号1,输入地址：X10
        /// </summary>
         public CardIoPoint DI09_门禁报警信号1 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 16);

                /// <summary>
        ///  门禁报警信号2,输入地址：X11
        /// </summary>
         public CardIoPoint DI10_门禁报警信号2 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 17);

                /// <summary>
        ///  11,输入地址：X12
        /// </summary>
         public CardIoPoint DI11_11 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 18);

                /// <summary>
        ///  12,输入地址：X13
        /// </summary>
         public CardIoPoint DI12_12 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 19);

                /// <summary>
        ///  13,输入地址：X14
        /// </summary>
         public CardIoPoint DI13_13 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 20);

                /// <summary>
        ///  14,输入地址：X15
        /// </summary>
         public CardIoPoint DI14_14 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 21);

                /// <summary>
        ///  风扇报警1,输入地址：X16
        /// </summary>
         public CardIoPoint DI15_风扇报警1 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 22);

                /// <summary>
        ///  风扇报警2,输入地址：X17
        /// </summary>
         public CardIoPoint DI16_风扇报警2 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 23);

                /// <summary>
        ///  风扇报警3,输入地址：X20
        /// </summary>
         public CardIoPoint DI17_风扇报警3 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 24);

                /// <summary>
        ///  风扇报警4,输入地址：X21
        /// </summary>
         public CardIoPoint DI18_风扇报警4 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 25);

                /// <summary>
        ///  入料防追尾光电,输入地址：X22
        /// </summary>
         public CardIoPoint DI19_入料防追尾光电 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 26);

                /// <summary>
        ///  入料口光电,输入地址：X23
        /// </summary>
         public CardIoPoint DI20_入料口光电 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 27);

                /// <summary>
        ///  入料到位光电,输入地址：X24
        /// </summary>
         public CardIoPoint DI21_入料到位光电 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 28);

                /// <summary>
        ///  出料口光电,输入地址：X25
        /// </summary>
         public CardIoPoint DI22_出料口光电 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 29);

                /// <summary>
        ///  入料到位挡缸1伸出磁开,输入地址：X26
        /// </summary>
         public CardIoPoint DI23_入料到位挡缸1伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 30);

                /// <summary>
        ///  入料到位挡缸1缩回磁开,输入地址：X27
        /// </summary>
         public CardIoPoint DI24_入料到位挡缸1缩回磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 31);

                /// <summary>
        ///  入料到位挡缸2伸出磁开,输入地址：X30
        /// </summary>
         public CardIoPoint DI25_入料到位挡缸2伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 32);

                /// <summary>
        ///  入料到位挡缸2缩回磁开,输入地址：X31
        /// </summary>
         public CardIoPoint DI26_入料到位挡缸2缩回磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 33);

                /// <summary>
        ///  入料左右拍板气缸1原点磁开,输入地址：X32
        /// </summary>
         public CardIoPoint DI27_入料左右拍板气缸1原点磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 34);

                /// <summary>
        ///  入料左右拍板气缸1伸出磁开,输入地址：X33
        /// </summary>
         public CardIoPoint DI28_入料左右拍板气缸1伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 35);

                /// <summary>
        ///  入料左右拍板气缸2原点磁开,输入地址：X34
        /// </summary>
         public CardIoPoint DI29_入料左右拍板气缸2原点磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 36);

                /// <summary>
        ///  入料左右拍板气缸2伸出磁开,输入地址：X35
        /// </summary>
         public CardIoPoint DI30_入料左右拍板气缸2伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 37);

                /// <summary>
        ///  入料前后拍板气缸1缩回磁开,输入地址：X36
        /// </summary>
         public CardIoPoint DI31_入料前后拍板气缸1缩回磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 38);

                /// <summary>
        ///  入料前后拍板气缸1伸出磁开,输入地址：X37
        /// </summary>
         public CardIoPoint DI32_入料前后拍板气缸1伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 39);

                /// <summary>
        ///  入料前后拍板气缸2缩回磁开,输入地址：X40
        /// </summary>
         public CardIoPoint DI33_入料前后拍板气缸2缩回磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 40);

                /// <summary>
        ///  入料前后拍板气缸2伸出磁开,输入地址：X41
        /// </summary>
         public CardIoPoint DI34_入料前后拍板气缸2伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 41);

                /// <summary>
        ///  入料前后拍板上下气缸1缩回磁开,输入地址：X42
        /// </summary>
         public CardIoPoint DI35_入料前后拍板上下气缸1缩回磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 42);

                /// <summary>
        ///  入料前后拍板上下气缸1伸出磁开,输入地址：X43
        /// </summary>
         public CardIoPoint DI36_入料前后拍板上下气缸1伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 43);

                /// <summary>
        ///  入料前后拍板上下气缸2缩回磁开,输入地址：X44
        /// </summary>
         public CardIoPoint DI37_入料前后拍板上下气缸2缩回磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 44);

                /// <summary>
        ///  入料前后拍板上下气缸2伸出磁开,输入地址：X45
        /// </summary>
         public CardIoPoint DI38_入料前后拍板上下气缸2伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 45);

                /// <summary>
        ///  入料到位减速光电,输入地址：X46
        /// </summary>
         public CardIoPoint DI39_入料到位减速光电 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 46);

                /// <summary>
        ///  取放料真空表1,输入地址：X47
        /// </summary>
         public CardIoPoint DI40_取放料真空表1 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 47);

                /// <summary>
        ///  取放料真空表2,输入地址：X50
        /// </summary>
         public CardIoPoint DI41_取放料真空表2 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 48);

                /// <summary>
        ///  取放料真空表3,输入地址：X51
        /// </summary>
         public CardIoPoint DI42_取放料真空表3 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 49);

                /// <summary>
        ///  取放料真空表4,输入地址：X52
        /// </summary>
         public CardIoPoint DI43_取放料真空表4 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 50);

                /// <summary>
        ///  取放料真空表5,输入地址：X53
        /// </summary>
         public CardIoPoint DI44_取放料真空表5 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 51);

                /// <summary>
        ///  取放料真空表6,输入地址：X54
        /// </summary>
         public CardIoPoint DI45_取放料真空表6 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 52);

                /// <summary>
        ///  取放料真空表7,输入地址：X55
        /// </summary>
         public CardIoPoint DI46_取放料真空表7 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 53);

                /// <summary>
        ///  47,输入地址：X56
        /// </summary>
         public CardIoPoint DI47_47 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 54);

                /// <summary>
        ///  48,输入地址：X57
        /// </summary>
         public CardIoPoint DI48_48 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 55);

                /// <summary>
        ///  49,输入地址：X60
        /// </summary>
         public CardIoPoint DI49_49 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 56);

                /// <summary>
        ///  飞达1定位缸伸出磁开,输入地址：X61
        /// </summary>
         public CardIoPoint DI50_飞达1定位缸伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 57);

                /// <summary>
        ///  飞达1定位缸缩回磁开,输入地址：X62
        /// </summary>
         public CardIoPoint DI51_飞达1定位缸缩回磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 58);

                /// <summary>
        ///  飞达1抽屉按钮,输入地址：X63
        /// </summary>
         public CardIoPoint DI52_飞达1抽屉按钮 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 59);

                /// <summary>
        ///  53,输入地址：X64
        /// </summary>
         public CardIoPoint DI53_53 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 60);

                /// <summary>
        ///  飞达2定位缸伸出磁开,输入地址：X65
        /// </summary>
         public CardIoPoint DI54_飞达2定位缸伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 61);

                /// <summary>
        ///  飞达2定位缸缩回磁开,输入地址：X66
        /// </summary>
         public CardIoPoint DI55_飞达2定位缸缩回磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 62);

                /// <summary>
        ///  飞达2抽屉按钮,输入地址：X67
        /// </summary>
         public CardIoPoint DI56_飞达2抽屉按钮 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 63);

                /// <summary>
        ///  NG下料无杆缸缩回磁开,输入地址：X70
        /// </summary>
         public CardIoPoint DI57_NG下料无杆缸缩回磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 64);

                /// <summary>
        ///  NG下料无杆缸伸出磁开,输入地址：X71
        /// </summary>
         public CardIoPoint DI58_NG下料无杆缸伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 65);

                /// <summary>
        ///  NG下料抽屉定位缸伸出磁开,输入地址：X72
        /// </summary>
         public CardIoPoint DI59_NG下料抽屉定位缸伸出磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 66);

                /// <summary>
        ///  NG下料抽屉定位缸缩回磁开,输入地址：X73
        /// </summary>
         public CardIoPoint DI60_NG下料抽屉定位缸缩回磁开 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 67);

                /// <summary>
        ///  NG抽屉按钮,输入地址：X74
        /// </summary>
         public CardIoPoint DI61_NG抽屉按钮 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 68);

                /// <summary>
        ///  NG抽屉闭合光电,输入地址：X75
        /// </summary>
         public CardIoPoint DI62_NG抽屉闭合光电 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 69);

                /// <summary>
        ///  NG抽屉打开光电,输入地址：X76
        /// </summary>
         public CardIoPoint DI63_NG抽屉打开光电 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 70);

                /// <summary>
        ///  NG抽屉料盘有无光电,输入地址：X77
        /// </summary>
         public CardIoPoint DI64_NG抽屉料盘有无光电 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 71);

                /// <summary>
        ///  夹爪膜检测光纤11,输入地址：X100
        /// </summary>
         public CardIoPoint DI65_夹爪膜检测光纤11 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 72);

                /// <summary>
        ///  夹爪膜检测光纤12,输入地址：X101
        /// </summary>
         public CardIoPoint DI66_夹爪膜检测光纤12 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 73);

                /// <summary>
        ///  夹爪膜检测光纤13,输入地址：X102
        /// </summary>
         public CardIoPoint DI67_夹爪膜检测光纤13 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 74);

                /// <summary>
        ///  夹爪膜检测光纤14,输入地址：X103
        /// </summary>
         public CardIoPoint DI68_夹爪膜检测光纤14 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 75);

                /// <summary>
        ///  夹爪膜检测光纤15,输入地址：X104
        /// </summary>
         public CardIoPoint DI69_夹爪膜检测光纤15 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 76);

                /// <summary>
        ///  夹爪膜检测光纤16,输入地址：X105
        /// </summary>
         public CardIoPoint DI70_夹爪膜检测光纤16 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 77);

                /// <summary>
        ///  夹爪膜检测光纤17,输入地址：X106
        /// </summary>
         public CardIoPoint DI71_夹爪膜检测光纤17 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 78);

                /// <summary>
        ///  夹爪膜检测光纤21,输入地址：X107
        /// </summary>
         public CardIoPoint DI72_夹爪膜检测光纤21 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 79);

                /// <summary>
        ///  夹爪膜检测光纤22,输入地址：X110
        /// </summary>
         public CardIoPoint DI73_夹爪膜检测光纤22 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 80);

                /// <summary>
        ///  夹爪膜检测光纤23,输入地址：X111
        /// </summary>
         public CardIoPoint DI74_夹爪膜检测光纤23 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 81);

                /// <summary>
        ///  夹爪膜检测光纤24,输入地址：X112
        /// </summary>
         public CardIoPoint DI75_夹爪膜检测光纤24 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 82);

                /// <summary>
        ///  夹爪膜检测光纤25,输入地址：X113
        /// </summary>
         public CardIoPoint DI76_夹爪膜检测光纤25 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 83);

                /// <summary>
        ///  夹爪膜检测光纤26,输入地址：X114
        /// </summary>
         public CardIoPoint DI77_夹爪膜检测光纤26 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 84);

                /// <summary>
        ///  夹爪膜检测光纤27,输入地址：X115
        /// </summary>
         public CardIoPoint DI78_夹爪膜检测光纤27 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 85);

                /// <summary>
        ///  夹爪闭合光纤1,输入地址：X116
        /// </summary>
         public CardIoPoint DI79_夹爪闭合光纤1 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 86);

                /// <summary>
        ///  夹爪张开光纤1,输入地址：X117
        /// </summary>
         public CardIoPoint DI80_夹爪张开光纤1 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 87);

                /// <summary>
        ///  夹爪闭合光纤2,输入地址：X120
        /// </summary>
         public CardIoPoint DI81_夹爪闭合光纤2 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 88);

                /// <summary>
        ///  夹爪张开光纤2,输入地址：X121
        /// </summary>
         public CardIoPoint DI82_夹爪张开光纤2 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 89);

                /// <summary>
        ///  飞达1抽屉闭合光电,输入地址：X122
        /// </summary>
         public CardIoPoint DI83_飞达1抽屉闭合光电 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 90);

                /// <summary>
        ///  飞达2抽屉闭合光电,输入地址：X123
        /// </summary>
         public CardIoPoint DI84_飞达2抽屉闭合光电 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 91);

                /// <summary>
        ///  飞达1料带有无检测,输入地址：X124
        /// </summary>
         public CardIoPoint DI85_飞达1料带有无检测 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 92);

                /// <summary>
        ///  飞达1放置到位,输入地址：X125
        /// </summary>
         public CardIoPoint DI86_飞达1放置到位 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 93);

                /// <summary>
        ///  飞达1收料触发,输入地址：X126
        /// </summary>
         public CardIoPoint DI87_飞达1收料触发 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 94);

                /// <summary>
        ///  飞达1满料检测,输入地址：X127
        /// </summary>
         public CardIoPoint DI88_飞达1满料检测 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 95);

                /// <summary>
        ///  飞达2料带有无检测,输入地址：X130
        /// </summary>
         public CardIoPoint DI89_飞达2料带有无检测 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 96);

                /// <summary>
        ///  飞达2放置到位,输入地址：X131
        /// </summary>
         public CardIoPoint DI90_飞达2放置到位 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 97);

                /// <summary>
        ///  飞达2收料触发,输入地址：X132
        /// </summary>
         public CardIoPoint DI91_飞达2收料触发 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 98);

                /// <summary>
        ///  飞达2满料检测,输入地址：X133
        /// </summary>
         public CardIoPoint DI92_飞达2满料检测 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 99);

                /// <summary>
        ///  上料交互输入信号1模组继电器,输入地址：X134
        /// </summary>
         public CardIoPoint DI93_上料交互输入信号1模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 100);

                /// <summary>
        ///  上料交互输入信号2模组继电器,输入地址：X135
        /// </summary>
         public CardIoPoint DI94_上料交互输入信号2模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 101);

                /// <summary>
        ///  下料交互输入信号1模组继电器,输入地址：X136
        /// </summary>
         public CardIoPoint DI95_下料交互输入信号1模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 102);

                /// <summary>
        ///  下料交互输入信号2模组继电器,输入地址：X137
        /// </summary>
         public CardIoPoint DI96_下料交互输入信号2模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Senser, 0, 103);

                 
        #endregion
         
        #region 输出
                 /// <summary>
        /// 面板启动按钮灯,输出地址：X0
        /// </summary>
         public CardIoPoint DO01_面板启动按钮灯 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 8);

                /// <summary>
        /// 面板停止按钮灯,输出地址：X1
        /// </summary>
         public CardIoPoint DO02_面板停止按钮灯 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 9);

                /// <summary>
        /// 面板复位按钮灯,输出地址：X2
        /// </summary>
         public CardIoPoint DO03_面板复位按钮灯 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 10);

                /// <summary>
        /// 手动自动按钮灯,输出地址：X3
        /// </summary>
         public CardIoPoint DO04_手动自动按钮灯 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 11);

                /// <summary>
        /// 三色灯红灯1控2模组继电器,输出地址：X4
        /// </summary>
         public CardIoPoint DO05_三色灯红灯1控2模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 12);

                /// <summary>
        /// 三色灯黄灯1控2模组继电器,输出地址：X5
        /// </summary>
         public CardIoPoint DO06_三色灯黄灯1控2模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 13);

                /// <summary>
        /// 三色灯绿灯1控2模组继电器,输出地址：X6
        /// </summary>
         public CardIoPoint DO07_三色灯绿灯1控2模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 14);

                /// <summary>
        /// 三色灯蜂鸣器1控2模组继电器,输出地址：X7
        /// </summary>
         public CardIoPoint DO08_三色灯蜂鸣器1控2模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 15);

                /// <summary>
        /// 门禁锁电源1,输出地址：X10
        /// </summary>
         public CardIoPoint DO09_门禁锁电源1 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 16);

                /// <summary>
        /// 门禁锁电源2,输出地址：X11
        /// </summary>
         public CardIoPoint DO10_门禁锁电源2 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 17);

                /// <summary>
        /// 11,输出地址：X12
        /// </summary>
         public CardIoPoint DO11_11 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 18);

                /// <summary>
        /// 12,输出地址：X13
        /// </summary>
         public CardIoPoint DO12_12 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 19);

                /// <summary>
        /// 13,输出地址：X14
        /// </summary>
         public CardIoPoint DO13_13 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 20);

                /// <summary>
        /// 14,输出地址：X15
        /// </summary>
         public CardIoPoint DO14_14 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 21);

                /// <summary>
        /// 入料相机条光触发,输出地址：X16
        /// </summary>
         public CardIoPoint DO15_入料相机条光触发 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 22);

                /// <summary>
        /// 入料相机背光触发,输出地址：X17
        /// </summary>
         public CardIoPoint DO16_入料相机背光触发 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 23);

                /// <summary>
        /// 入料相机触发,输出地址：X20
        /// </summary>
         public CardIoPoint DO17_入料相机触发 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 24);

                /// <summary>
        /// 读码相机光源触发,输出地址：X21
        /// </summary>
         public CardIoPoint DO18_读码相机光源触发 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 25);

                /// <summary>
        /// 读码相机触发,输出地址：X22
        /// </summary>
         public CardIoPoint DO19_读码相机触发 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 26);

                /// <summary>
        /// 取放料相机光源触发,输出地址：X23
        /// </summary>
         public CardIoPoint DO20_取放料相机光源触发 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 27);

                /// <summary>
        /// 取放料相机触发,输出地址：X24
        /// </summary>
         public CardIoPoint DO21_取放料相机触发 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 28);

                /// <summary>
        /// 日光灯继电器,输出地址：X25
        /// </summary>
         public CardIoPoint DO22_日光灯继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 29);

                /// <summary>
        /// 入料到位挡缸伸出电磁阀1控2,输出地址：X26
        /// </summary>
         public CardIoPoint DO23_入料到位挡缸伸出电磁阀1控2 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 30);

                /// <summary>
        /// 入料到位挡缸缩回电磁阀1控2,输出地址：X27
        /// </summary>
         public CardIoPoint DO24_入料到位挡缸缩回电磁阀1控2 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 31);

                /// <summary>
        /// 入料左右拍板气缸缩回电磁阀1控2,输出地址：X30
        /// </summary>
         public CardIoPoint DO25_入料左右拍板气缸缩回电磁阀1控2 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 32);

                /// <summary>
        /// 入料左右拍板气缸伸出电磁阀1控2,输出地址：X31
        /// </summary>
         public CardIoPoint DO26_入料左右拍板气缸伸出电磁阀1控2 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 33);

                /// <summary>
        /// 入料前后拍板气缸缩回电磁阀1控2,输出地址：X32
        /// </summary>
         public CardIoPoint DO27_入料前后拍板气缸缩回电磁阀1控2 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 34);

                /// <summary>
        /// 入料前后拍板气缸伸出电磁阀1控2,输出地址：X33
        /// </summary>
         public CardIoPoint DO28_入料前后拍板气缸伸出电磁阀1控2 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 35);

                /// <summary>
        /// 入料前后拍板上下气缸缩回电磁阀1控2,输出地址：X34
        /// </summary>
         public CardIoPoint DO29_入料前后拍板上下气缸缩回电磁阀1控2 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 36);

                /// <summary>
        /// 入料前后拍板上下气缸伸出电磁阀1控2,输出地址：X35
        /// </summary>
         public CardIoPoint DO30_入料前后拍板上下气缸伸出电磁阀1控2 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 37);

                /// <summary>
        /// 36,输出地址：X36
        /// </summary>
         public CardIoPoint DO31_36 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 38);

                /// <summary>
        /// 37,输出地址：X37
        /// </summary>
         public CardIoPoint DO32_37 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 39);

                /// <summary>
        /// 取放料真空1吸,输出地址：X40
        /// </summary>
         public CardIoPoint DO33_取放料真空1吸 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 40);

                /// <summary>
        /// 取放料真空1吹,输出地址：X41
        /// </summary>
         public CardIoPoint DO34_取放料真空1吹 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 41);

                /// <summary>
        /// 取放料真空2吸,输出地址：X42
        /// </summary>
         public CardIoPoint DO35_取放料真空2吸 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 42);

                /// <summary>
        /// 取放料真空2吹,输出地址：X43
        /// </summary>
         public CardIoPoint DO36_取放料真空2吹 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 43);

                /// <summary>
        /// 取放料真空3吸,输出地址：X44
        /// </summary>
         public CardIoPoint DO37_取放料真空3吸 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 44);

                /// <summary>
        /// 取放料真空3吹,输出地址：X45
        /// </summary>
         public CardIoPoint DO38_取放料真空3吹 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 45);

                /// <summary>
        /// 取放料真空4吸,输出地址：X46
        /// </summary>
         public CardIoPoint DO39_取放料真空4吸 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 46);

                /// <summary>
        /// 取放料真空4吹,输出地址：X47
        /// </summary>
         public CardIoPoint DO40_取放料真空4吹 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 47);

                /// <summary>
        /// 取放料真空5吸,输出地址：X50
        /// </summary>
         public CardIoPoint DO41_取放料真空5吸 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 48);

                /// <summary>
        /// 取放料真空5吹,输出地址：X51
        /// </summary>
         public CardIoPoint DO42_取放料真空5吹 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 49);

                /// <summary>
        /// 取放料真空6吸,输出地址：X52
        /// </summary>
         public CardIoPoint DO43_取放料真空6吸 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 50);

                /// <summary>
        /// 取放料真空6吹,输出地址：X53
        /// </summary>
         public CardIoPoint DO44_取放料真空6吹 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 51);

                /// <summary>
        /// 取放料真空7吸,输出地址：X54
        /// </summary>
         public CardIoPoint DO45_取放料真空7吸 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 52);

                /// <summary>
        /// 取放料真空7吹,输出地址：X55
        /// </summary>
         public CardIoPoint DO46_取放料真空7吹 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 53);

                /// <summary>
        /// 47,输出地址：X56
        /// </summary>
         public CardIoPoint DO47_47 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 54);

                /// <summary>
        /// 48,输出地址：X57
        /// </summary>
         public CardIoPoint DO48_48 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 55);

                /// <summary>
        /// 49,输出地址：X60
        /// </summary>
         public CardIoPoint DO49_49 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 56);

                /// <summary>
        /// 飞达1定位缸伸出电磁阀,输出地址：X61
        /// </summary>
         public CardIoPoint DO50_飞达1定位缸伸出电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 57);

                /// <summary>
        /// 飞达1定位缸缩回电磁阀,输出地址：X62
        /// </summary>
         public CardIoPoint DO51_飞达1定位缸缩回电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 58);

                /// <summary>
        /// 飞达1抽屉按钮灯,输出地址：X63
        /// </summary>
         public CardIoPoint DO52_飞达1抽屉按钮灯 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 59);

                /// <summary>
        /// 53,输出地址：X64
        /// </summary>
         public CardIoPoint DO53_53 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 60);

                /// <summary>
        /// 飞达2定位缸伸出电磁阀,输出地址：X65
        /// </summary>
         public CardIoPoint DO54_飞达2定位缸伸出电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 61);

                /// <summary>
        /// 飞达2定位缸缩回电磁阀,输出地址：X66
        /// </summary>
         public CardIoPoint DO55_飞达2定位缸缩回电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 62);

                /// <summary>
        /// 飞达2抽屉按钮灯,输出地址：X67
        /// </summary>
         public CardIoPoint DO56_飞达2抽屉按钮灯 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 63);

                /// <summary>
        /// NG下料无杆缸缩回电磁阀,输出地址：X70
        /// </summary>
         public CardIoPoint DO57_NG下料无杆缸缩回电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 64);

                /// <summary>
        /// NG下料无杆缸伸出电磁阀,输出地址：X71
        /// </summary>
         public CardIoPoint DO58_NG下料无杆缸伸出电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 65);

                /// <summary>
        /// NG下料抽屉定位缸伸出电磁阀,输出地址：X72
        /// </summary>
         public CardIoPoint DO59_NG下料抽屉定位缸伸出电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 66);

                /// <summary>
        /// NG下料抽屉定位缸缩回电磁阀,输出地址：X73
        /// </summary>
         public CardIoPoint DO60_NG下料抽屉定位缸缩回电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 67);

                /// <summary>
        /// NG抽屉按钮灯,输出地址：X74
        /// </summary>
         public CardIoPoint DO61_NG抽屉按钮灯 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 68);

                /// <summary>
        /// 62,输出地址：X75
        /// </summary>
         public CardIoPoint DO62_62 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 69);

                /// <summary>
        /// 63,输出地址：X76
        /// </summary>
         public CardIoPoint DO63_63 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 70);

                /// <summary>
        /// 64,输出地址：X77
        /// </summary>
         public CardIoPoint DO64_64 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 71);

                /// <summary>
        /// 夹爪气缸1张开电磁阀,输出地址：X100
        /// </summary>
         public CardIoPoint DO65_夹爪气缸1张开电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 72);

                /// <summary>
        /// 夹爪气缸1闭合电磁阀,输出地址：X101
        /// </summary>
         public CardIoPoint DO66_夹爪气缸1闭合电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 73);

                /// <summary>
        /// 夹爪气缸2张开电磁阀,输出地址：X102
        /// </summary>
         public CardIoPoint DO67_夹爪气缸2张开电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 74);

                /// <summary>
        /// 夹爪气缸2闭合电磁阀,输出地址：X103
        /// </summary>
         public CardIoPoint DO68_夹爪气缸2闭合电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 75);

                /// <summary>
        /// 夹爪气缸3张开电磁阀,输出地址：X104
        /// </summary>
         public CardIoPoint DO69_夹爪气缸3张开电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 76);

                /// <summary>
        /// 夹爪气缸3闭合电磁阀,输出地址：X105
        /// </summary>
         public CardIoPoint DO70_夹爪气缸3闭合电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 77);

                /// <summary>
        /// 夹爪气缸4张开电磁阀,输出地址：X106
        /// </summary>
         public CardIoPoint DO71_夹爪气缸4张开电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 78);

                /// <summary>
        /// 夹爪气缸4闭合电磁阀,输出地址：X107
        /// </summary>
         public CardIoPoint DO72_夹爪气缸4闭合电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 79);

                /// <summary>
        /// 夹爪气缸5张开电磁阀,输出地址：X110
        /// </summary>
         public CardIoPoint DO73_夹爪气缸5张开电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 80);

                /// <summary>
        /// 夹爪气缸5闭合电磁阀,输出地址：X111
        /// </summary>
         public CardIoPoint DO74_夹爪气缸5闭合电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 81);

                /// <summary>
        /// 夹爪气缸6张开电磁阀,输出地址：X112
        /// </summary>
         public CardIoPoint DO75_夹爪气缸6张开电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 82);

                /// <summary>
        /// 夹爪气缸6闭合电磁阀,输出地址：X113
        /// </summary>
         public CardIoPoint DO76_夹爪气缸6闭合电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 83);

                /// <summary>
        /// 夹爪气缸7张开电磁阀,输出地址：X114
        /// </summary>
         public CardIoPoint DO77_夹爪气缸7张开电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 84);

                /// <summary>
        /// 夹爪气缸7闭合电磁阀,输出地址：X115
        /// </summary>
         public CardIoPoint DO78_夹爪气缸7闭合电磁阀 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 85);

                /// <summary>
        /// 78,输出地址：X116
        /// </summary>
         public CardIoPoint DO79_78 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 86);

                /// <summary>
        /// 79,输出地址：X117
        /// </summary>
         public CardIoPoint DO80_79 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 87);

                /// <summary>
        /// 80,输出地址：X120
        /// </summary>
         public CardIoPoint DO81_80 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 88);

                /// <summary>
        /// 81,输出地址：X121
        /// </summary>
         public CardIoPoint DO82_81 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 89);

                /// <summary>
        /// 飞达1压料气缸,输出地址：X122
        /// </summary>
         public CardIoPoint DO83_飞达1压料气缸 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 90);

                /// <summary>
        /// 飞达2压料气缸,输出地址：X123
        /// </summary>
         public CardIoPoint DO84_飞达2压料气缸 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 91);

                /// <summary>
        /// 84,输出地址：X124
        /// </summary>
         public CardIoPoint DO85_84 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 92);

                /// <summary>
        /// 85,输出地址：X125
        /// </summary>
         public CardIoPoint DO86_85 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 93);

                /// <summary>
        /// 86,输出地址：X126
        /// </summary>
         public CardIoPoint DO87_86 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 94);

                /// <summary>
        /// 87,输出地址：X127
        /// </summary>
         public CardIoPoint DO88_87 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 95);

                /// <summary>
        /// 88,输出地址：X130
        /// </summary>
         public CardIoPoint DO89_88 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 96);

                /// <summary>
        /// 89,输出地址：X131
        /// </summary>
         public CardIoPoint DO90_89 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 97);

                /// <summary>
        /// 90,输出地址：X132
        /// </summary>
         public CardIoPoint DO91_90 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 98);

                /// <summary>
        /// 91,输出地址：X133
        /// </summary>
         public CardIoPoint DO92_91 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 99);

                /// <summary>
        /// 上料交互输出信号1模组继电器,输出地址：X134
        /// </summary>
         public CardIoPoint DO93_上料交互输出信号1模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 100);

                /// <summary>
        /// 上料交互输出信号2模组继电器,输出地址：X135
        /// </summary>
         public CardIoPoint DO94_上料交互输出信号2模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 101);

                /// <summary>
        /// 下料交互输出信号1模组继电器,输出地址：X136
        /// </summary>
         public CardIoPoint DO95_下料交互输出信号1模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 102);

                /// <summary>
        /// 下料交互输出信号2模组继电器,输出地址：X137
        /// </summary>
         public CardIoPoint DO96_下料交互输出信号2模组继电器 { get; } = new CardIoPoint(SwitchController, IoModes.Signal, 0, 103);

        
        #endregion
   
        public void Init()
        { 
                  InputPoints[8] = DI01_面板启动按钮;
                  InputPoints[9] = DI02_面板停止按钮;
                  InputPoints[10] = DI03_面板复位按钮;
                  InputPoints[11] = DI04_手动自动旋钮手动;
                  InputPoints[12] = DI05_手动自动旋钮自动;
                  InputPoints[13] = DI06_面板急停按钮;
                  InputPoints[14] = DI07_背面急停按钮;
                  InputPoints[15] = DI08_总气源气压表;
                  InputPoints[16] = DI09_门禁报警信号1;
                  InputPoints[17] = DI10_门禁报警信号2;
                  InputPoints[18] = DI11_11;
                  InputPoints[19] = DI12_12;
                  InputPoints[20] = DI13_13;
                  InputPoints[21] = DI14_14;
                  InputPoints[22] = DI15_风扇报警1;
                  InputPoints[23] = DI16_风扇报警2;
                  InputPoints[24] = DI17_风扇报警3;
                  InputPoints[25] = DI18_风扇报警4;
                  InputPoints[26] = DI19_入料防追尾光电;
                  InputPoints[27] = DI20_入料口光电;
                  InputPoints[28] = DI21_入料到位光电;
                  InputPoints[29] = DI22_出料口光电;
                  InputPoints[30] = DI23_入料到位挡缸1伸出磁开;
                  InputPoints[31] = DI24_入料到位挡缸1缩回磁开;
                  InputPoints[32] = DI25_入料到位挡缸2伸出磁开;
                  InputPoints[33] = DI26_入料到位挡缸2缩回磁开;
                  InputPoints[34] = DI27_入料左右拍板气缸1原点磁开;
                  InputPoints[35] = DI28_入料左右拍板气缸1伸出磁开;
                  InputPoints[36] = DI29_入料左右拍板气缸2原点磁开;
                  InputPoints[37] = DI30_入料左右拍板气缸2伸出磁开;
                  InputPoints[38] = DI31_入料前后拍板气缸1缩回磁开;
                  InputPoints[39] = DI32_入料前后拍板气缸1伸出磁开;
                  InputPoints[40] = DI33_入料前后拍板气缸2缩回磁开;
                  InputPoints[41] = DI34_入料前后拍板气缸2伸出磁开;
                  InputPoints[42] = DI35_入料前后拍板上下气缸1缩回磁开;
                  InputPoints[43] = DI36_入料前后拍板上下气缸1伸出磁开;
                  InputPoints[44] = DI37_入料前后拍板上下气缸2缩回磁开;
                  InputPoints[45] = DI38_入料前后拍板上下气缸2伸出磁开;
                  InputPoints[46] = DI39_入料到位减速光电;
                  InputPoints[47] = DI40_取放料真空表1;
                  InputPoints[48] = DI41_取放料真空表2;
                  InputPoints[49] = DI42_取放料真空表3;
                  InputPoints[50] = DI43_取放料真空表4;
                  InputPoints[51] = DI44_取放料真空表5;
                  InputPoints[52] = DI45_取放料真空表6;
                  InputPoints[53] = DI46_取放料真空表7;
                  InputPoints[54] = DI47_47;
                  InputPoints[55] = DI48_48;
                  InputPoints[56] = DI49_49;
                  InputPoints[57] = DI50_飞达1定位缸伸出磁开;
                  InputPoints[58] = DI51_飞达1定位缸缩回磁开;
                  InputPoints[59] = DI52_飞达1抽屉按钮;
                  InputPoints[60] = DI53_53;
                  InputPoints[61] = DI54_飞达2定位缸伸出磁开;
                  InputPoints[62] = DI55_飞达2定位缸缩回磁开;
                  InputPoints[63] = DI56_飞达2抽屉按钮;
                  InputPoints[64] = DI57_NG下料无杆缸缩回磁开;
                  InputPoints[65] = DI58_NG下料无杆缸伸出磁开;
                  InputPoints[66] = DI59_NG下料抽屉定位缸伸出磁开;
                  InputPoints[67] = DI60_NG下料抽屉定位缸缩回磁开;
                  InputPoints[68] = DI61_NG抽屉按钮;
                  InputPoints[69] = DI62_NG抽屉闭合光电;
                  InputPoints[70] = DI63_NG抽屉打开光电;
                  InputPoints[71] = DI64_NG抽屉料盘有无光电;
                  InputPoints[72] = DI65_夹爪膜检测光纤11;
                  InputPoints[73] = DI66_夹爪膜检测光纤12;
                  InputPoints[74] = DI67_夹爪膜检测光纤13;
                  InputPoints[75] = DI68_夹爪膜检测光纤14;
                  InputPoints[76] = DI69_夹爪膜检测光纤15;
                  InputPoints[77] = DI70_夹爪膜检测光纤16;
                  InputPoints[78] = DI71_夹爪膜检测光纤17;
                  InputPoints[79] = DI72_夹爪膜检测光纤21;
                  InputPoints[80] = DI73_夹爪膜检测光纤22;
                  InputPoints[81] = DI74_夹爪膜检测光纤23;
                  InputPoints[82] = DI75_夹爪膜检测光纤24;
                  InputPoints[83] = DI76_夹爪膜检测光纤25;
                  InputPoints[84] = DI77_夹爪膜检测光纤26;
                  InputPoints[85] = DI78_夹爪膜检测光纤27;
                  InputPoints[86] = DI79_夹爪闭合光纤1;
                  InputPoints[87] = DI80_夹爪张开光纤1;
                  InputPoints[88] = DI81_夹爪闭合光纤2;
                  InputPoints[89] = DI82_夹爪张开光纤2;
                  InputPoints[90] = DI83_飞达1抽屉闭合光电;
                  InputPoints[91] = DI84_飞达2抽屉闭合光电;
                  InputPoints[92] = DI85_飞达1料带有无检测;
                  InputPoints[93] = DI86_飞达1放置到位;
                  InputPoints[94] = DI87_飞达1收料触发;
                  InputPoints[95] = DI88_飞达1满料检测;
                  InputPoints[96] = DI89_飞达2料带有无检测;
                  InputPoints[97] = DI90_飞达2放置到位;
                  InputPoints[98] = DI91_飞达2收料触发;
                  InputPoints[99] = DI92_飞达2满料检测;
                  InputPoints[100] = DI93_上料交互输入信号1模组继电器;
                  InputPoints[101] = DI94_上料交互输入信号2模组继电器;
                  InputPoints[102] = DI95_下料交互输入信号1模组继电器;
                  InputPoints[103] = DI96_下料交互输入信号2模组继电器;
          
                  OutputPoints[8] = DO01_面板启动按钮灯;
                  OutputPoints[9] = DO02_面板停止按钮灯;
                  OutputPoints[10] = DO03_面板复位按钮灯;
                  OutputPoints[11] = DO04_手动自动按钮灯;
                  OutputPoints[12] = DO05_三色灯红灯1控2模组继电器;
                  OutputPoints[13] = DO06_三色灯黄灯1控2模组继电器;
                  OutputPoints[14] = DO07_三色灯绿灯1控2模组继电器;
                  OutputPoints[15] = DO08_三色灯蜂鸣器1控2模组继电器;
                  OutputPoints[16] = DO09_门禁锁电源1;
                  OutputPoints[17] = DO10_门禁锁电源2;
                  OutputPoints[18] = DO11_11;
                  OutputPoints[19] = DO12_12;
                  OutputPoints[20] = DO13_13;
                  OutputPoints[21] = DO14_14;
                  OutputPoints[22] = DO15_入料相机条光触发;
                  OutputPoints[23] = DO16_入料相机背光触发;
                  OutputPoints[24] = DO17_入料相机触发;
                  OutputPoints[25] = DO18_读码相机光源触发;
                  OutputPoints[26] = DO19_读码相机触发;
                  OutputPoints[27] = DO20_取放料相机光源触发;
                  OutputPoints[28] = DO21_取放料相机触发;
                  OutputPoints[29] = DO22_日光灯继电器;
                  OutputPoints[30] = DO23_入料到位挡缸伸出电磁阀1控2;
                  OutputPoints[31] = DO24_入料到位挡缸缩回电磁阀1控2;
                  OutputPoints[32] = DO25_入料左右拍板气缸缩回电磁阀1控2;
                  OutputPoints[33] = DO26_入料左右拍板气缸伸出电磁阀1控2;
                  OutputPoints[34] = DO27_入料前后拍板气缸缩回电磁阀1控2;
                  OutputPoints[35] = DO28_入料前后拍板气缸伸出电磁阀1控2;
                  OutputPoints[36] = DO29_入料前后拍板上下气缸缩回电磁阀1控2;
                  OutputPoints[37] = DO30_入料前后拍板上下气缸伸出电磁阀1控2;
                  OutputPoints[38] = DO31_36;
                  OutputPoints[39] = DO32_37;
                  OutputPoints[40] = DO33_取放料真空1吸;
                  OutputPoints[41] = DO34_取放料真空1吹;
                  OutputPoints[42] = DO35_取放料真空2吸;
                  OutputPoints[43] = DO36_取放料真空2吹;
                  OutputPoints[44] = DO37_取放料真空3吸;
                  OutputPoints[45] = DO38_取放料真空3吹;
                  OutputPoints[46] = DO39_取放料真空4吸;
                  OutputPoints[47] = DO40_取放料真空4吹;
                  OutputPoints[48] = DO41_取放料真空5吸;
                  OutputPoints[49] = DO42_取放料真空5吹;
                  OutputPoints[50] = DO43_取放料真空6吸;
                  OutputPoints[51] = DO44_取放料真空6吹;
                  OutputPoints[52] = DO45_取放料真空7吸;
                  OutputPoints[53] = DO46_取放料真空7吹;
                  OutputPoints[54] = DO47_47;
                  OutputPoints[55] = DO48_48;
                  OutputPoints[56] = DO49_49;
                  OutputPoints[57] = DO50_飞达1定位缸伸出电磁阀;
                  OutputPoints[58] = DO51_飞达1定位缸缩回电磁阀;
                  OutputPoints[59] = DO52_飞达1抽屉按钮灯;
                  OutputPoints[60] = DO53_53;
                  OutputPoints[61] = DO54_飞达2定位缸伸出电磁阀;
                  OutputPoints[62] = DO55_飞达2定位缸缩回电磁阀;
                  OutputPoints[63] = DO56_飞达2抽屉按钮灯;
                  OutputPoints[64] = DO57_NG下料无杆缸缩回电磁阀;
                  OutputPoints[65] = DO58_NG下料无杆缸伸出电磁阀;
                  OutputPoints[66] = DO59_NG下料抽屉定位缸伸出电磁阀;
                  OutputPoints[67] = DO60_NG下料抽屉定位缸缩回电磁阀;
                  OutputPoints[68] = DO61_NG抽屉按钮灯;
                  OutputPoints[69] = DO62_62;
                  OutputPoints[70] = DO63_63;
                  OutputPoints[71] = DO64_64;
                  OutputPoints[72] = DO65_夹爪气缸1张开电磁阀;
                  OutputPoints[73] = DO66_夹爪气缸1闭合电磁阀;
                  OutputPoints[74] = DO67_夹爪气缸2张开电磁阀;
                  OutputPoints[75] = DO68_夹爪气缸2闭合电磁阀;
                  OutputPoints[76] = DO69_夹爪气缸3张开电磁阀;
                  OutputPoints[77] = DO70_夹爪气缸3闭合电磁阀;
                  OutputPoints[78] = DO71_夹爪气缸4张开电磁阀;
                  OutputPoints[79] = DO72_夹爪气缸4闭合电磁阀;
                  OutputPoints[80] = DO73_夹爪气缸5张开电磁阀;
                  OutputPoints[81] = DO74_夹爪气缸5闭合电磁阀;
                  OutputPoints[82] = DO75_夹爪气缸6张开电磁阀;
                  OutputPoints[83] = DO76_夹爪气缸6闭合电磁阀;
                  OutputPoints[84] = DO77_夹爪气缸7张开电磁阀;
                  OutputPoints[85] = DO78_夹爪气缸7闭合电磁阀;
                  OutputPoints[86] = DO79_78;
                  OutputPoints[87] = DO80_79;
                  OutputPoints[88] = DO81_80;
                  OutputPoints[89] = DO82_81;
                  OutputPoints[90] = DO83_飞达1压料气缸;
                  OutputPoints[91] = DO84_飞达2压料气缸;
                  OutputPoints[92] = DO85_84;
                  OutputPoints[93] = DO86_85;
                  OutputPoints[94] = DO87_86;
                  OutputPoints[95] = DO88_87;
                  OutputPoints[96] = DO89_88;
                  OutputPoints[97] = DO90_89;
                  OutputPoints[98] = DO91_90;
                  OutputPoints[99] = DO92_91;
                  OutputPoints[100] = DO93_上料交互输出信号1模组继电器;
                  OutputPoints[101] = DO94_上料交互输出信号2模组继电器;
                  OutputPoints[102] = DO95_下料交互输出信号1模组继电器;
                  OutputPoints[103] = DO96_下料交互输出信号2模组继电器;
        
        
                  InputPoints2["X0_面板启动按钮"] = DI01_面板启动按钮;
                  InputPoints2["X1_面板停止按钮"] = DI02_面板停止按钮;
                  InputPoints2["X2_面板复位按钮"] = DI03_面板复位按钮;
                  InputPoints2["X3_手动自动旋钮手动"] = DI04_手动自动旋钮手动;
                  InputPoints2["X4_手动自动旋钮自动"] = DI05_手动自动旋钮自动;
                  InputPoints2["X5_面板急停按钮"] = DI06_面板急停按钮;
                  InputPoints2["X6_背面急停按钮"] = DI07_背面急停按钮;
                  InputPoints2["X7_总气源气压表"] = DI08_总气源气压表;
                  InputPoints2["X10_门禁报警信号1"] = DI09_门禁报警信号1;
                  InputPoints2["X11_门禁报警信号2"] = DI10_门禁报警信号2;
                  InputPoints2["X12_11"] = DI11_11;
                  InputPoints2["X13_12"] = DI12_12;
                  InputPoints2["X14_13"] = DI13_13;
                  InputPoints2["X15_14"] = DI14_14;
                  InputPoints2["X16_风扇报警1"] = DI15_风扇报警1;
                  InputPoints2["X17_风扇报警2"] = DI16_风扇报警2;
                  InputPoints2["X20_风扇报警3"] = DI17_风扇报警3;
                  InputPoints2["X21_风扇报警4"] = DI18_风扇报警4;
                  InputPoints2["X22_入料防追尾光电"] = DI19_入料防追尾光电;
                  InputPoints2["X23_入料口光电"] = DI20_入料口光电;
                  InputPoints2["X24_入料到位光电"] = DI21_入料到位光电;
                  InputPoints2["X25_出料口光电"] = DI22_出料口光电;
                  InputPoints2["X26_入料到位挡缸1伸出磁开"] = DI23_入料到位挡缸1伸出磁开;
                  InputPoints2["X27_入料到位挡缸1缩回磁开"] = DI24_入料到位挡缸1缩回磁开;
                  InputPoints2["X30_入料到位挡缸2伸出磁开"] = DI25_入料到位挡缸2伸出磁开;
                  InputPoints2["X31_入料到位挡缸2缩回磁开"] = DI26_入料到位挡缸2缩回磁开;
                  InputPoints2["X32_入料左右拍板气缸1原点磁开"] = DI27_入料左右拍板气缸1原点磁开;
                  InputPoints2["X33_入料左右拍板气缸1伸出磁开"] = DI28_入料左右拍板气缸1伸出磁开;
                  InputPoints2["X34_入料左右拍板气缸2原点磁开"] = DI29_入料左右拍板气缸2原点磁开;
                  InputPoints2["X35_入料左右拍板气缸2伸出磁开"] = DI30_入料左右拍板气缸2伸出磁开;
                  InputPoints2["X36_入料前后拍板气缸1缩回磁开"] = DI31_入料前后拍板气缸1缩回磁开;
                  InputPoints2["X37_入料前后拍板气缸1伸出磁开"] = DI32_入料前后拍板气缸1伸出磁开;
                  InputPoints2["X40_入料前后拍板气缸2缩回磁开"] = DI33_入料前后拍板气缸2缩回磁开;
                  InputPoints2["X41_入料前后拍板气缸2伸出磁开"] = DI34_入料前后拍板气缸2伸出磁开;
                  InputPoints2["X42_入料前后拍板上下气缸1缩回磁开"] = DI35_入料前后拍板上下气缸1缩回磁开;
                  InputPoints2["X43_入料前后拍板上下气缸1伸出磁开"] = DI36_入料前后拍板上下气缸1伸出磁开;
                  InputPoints2["X44_入料前后拍板上下气缸2缩回磁开"] = DI37_入料前后拍板上下气缸2缩回磁开;
                  InputPoints2["X45_入料前后拍板上下气缸2伸出磁开"] = DI38_入料前后拍板上下气缸2伸出磁开;
                  InputPoints2["X46_入料到位减速光电"] = DI39_入料到位减速光电;
                  InputPoints2["X47_取放料真空表1"] = DI40_取放料真空表1;
                  InputPoints2["X50_取放料真空表2"] = DI41_取放料真空表2;
                  InputPoints2["X51_取放料真空表3"] = DI42_取放料真空表3;
                  InputPoints2["X52_取放料真空表4"] = DI43_取放料真空表4;
                  InputPoints2["X53_取放料真空表5"] = DI44_取放料真空表5;
                  InputPoints2["X54_取放料真空表6"] = DI45_取放料真空表6;
                  InputPoints2["X55_取放料真空表7"] = DI46_取放料真空表7;
                  InputPoints2["X56_47"] = DI47_47;
                  InputPoints2["X57_48"] = DI48_48;
                  InputPoints2["X60_49"] = DI49_49;
                  InputPoints2["X61_飞达1定位缸伸出磁开"] = DI50_飞达1定位缸伸出磁开;
                  InputPoints2["X62_飞达1定位缸缩回磁开"] = DI51_飞达1定位缸缩回磁开;
                  InputPoints2["X63_飞达1抽屉按钮"] = DI52_飞达1抽屉按钮;
                  InputPoints2["X64_53"] = DI53_53;
                  InputPoints2["X65_飞达2定位缸伸出磁开"] = DI54_飞达2定位缸伸出磁开;
                  InputPoints2["X66_飞达2定位缸缩回磁开"] = DI55_飞达2定位缸缩回磁开;
                  InputPoints2["X67_飞达2抽屉按钮"] = DI56_飞达2抽屉按钮;
                  InputPoints2["X70_NG下料无杆缸缩回磁开"] = DI57_NG下料无杆缸缩回磁开;
                  InputPoints2["X71_NG下料无杆缸伸出磁开"] = DI58_NG下料无杆缸伸出磁开;
                  InputPoints2["X72_NG下料抽屉定位缸伸出磁开"] = DI59_NG下料抽屉定位缸伸出磁开;
                  InputPoints2["X73_NG下料抽屉定位缸缩回磁开"] = DI60_NG下料抽屉定位缸缩回磁开;
                  InputPoints2["X74_NG抽屉按钮"] = DI61_NG抽屉按钮;
                  InputPoints2["X75_NG抽屉闭合光电"] = DI62_NG抽屉闭合光电;
                  InputPoints2["X76_NG抽屉打开光电"] = DI63_NG抽屉打开光电;
                  InputPoints2["X77_NG抽屉料盘有无光电"] = DI64_NG抽屉料盘有无光电;
                  InputPoints2["X100_夹爪膜检测光纤11"] = DI65_夹爪膜检测光纤11;
                  InputPoints2["X101_夹爪膜检测光纤12"] = DI66_夹爪膜检测光纤12;
                  InputPoints2["X102_夹爪膜检测光纤13"] = DI67_夹爪膜检测光纤13;
                  InputPoints2["X103_夹爪膜检测光纤14"] = DI68_夹爪膜检测光纤14;
                  InputPoints2["X104_夹爪膜检测光纤15"] = DI69_夹爪膜检测光纤15;
                  InputPoints2["X105_夹爪膜检测光纤16"] = DI70_夹爪膜检测光纤16;
                  InputPoints2["X106_夹爪膜检测光纤17"] = DI71_夹爪膜检测光纤17;
                  InputPoints2["X107_夹爪膜检测光纤21"] = DI72_夹爪膜检测光纤21;
                  InputPoints2["X110_夹爪膜检测光纤22"] = DI73_夹爪膜检测光纤22;
                  InputPoints2["X111_夹爪膜检测光纤23"] = DI74_夹爪膜检测光纤23;
                  InputPoints2["X112_夹爪膜检测光纤24"] = DI75_夹爪膜检测光纤24;
                  InputPoints2["X113_夹爪膜检测光纤25"] = DI76_夹爪膜检测光纤25;
                  InputPoints2["X114_夹爪膜检测光纤26"] = DI77_夹爪膜检测光纤26;
                  InputPoints2["X115_夹爪膜检测光纤27"] = DI78_夹爪膜检测光纤27;
                  InputPoints2["X116_夹爪闭合光纤1"] = DI79_夹爪闭合光纤1;
                  InputPoints2["X117_夹爪张开光纤1"] = DI80_夹爪张开光纤1;
                  InputPoints2["X120_夹爪闭合光纤2"] = DI81_夹爪闭合光纤2;
                  InputPoints2["X121_夹爪张开光纤2"] = DI82_夹爪张开光纤2;
                  InputPoints2["X122_飞达1抽屉闭合光电"] = DI83_飞达1抽屉闭合光电;
                  InputPoints2["X123_飞达2抽屉闭合光电"] = DI84_飞达2抽屉闭合光电;
                  InputPoints2["X124_飞达1料带有无检测"] = DI85_飞达1料带有无检测;
                  InputPoints2["X125_飞达1放置到位"] = DI86_飞达1放置到位;
                  InputPoints2["X126_飞达1收料触发"] = DI87_飞达1收料触发;
                  InputPoints2["X127_飞达1满料检测"] = DI88_飞达1满料检测;
                  InputPoints2["X130_飞达2料带有无检测"] = DI89_飞达2料带有无检测;
                  InputPoints2["X131_飞达2放置到位"] = DI90_飞达2放置到位;
                  InputPoints2["X132_飞达2收料触发"] = DI91_飞达2收料触发;
                  InputPoints2["X133_飞达2满料检测"] = DI92_飞达2满料检测;
                  InputPoints2["X134_上料交互输入信号1模组继电器"] = DI93_上料交互输入信号1模组继电器;
                  InputPoints2["X135_上料交互输入信号2模组继电器"] = DI94_上料交互输入信号2模组继电器;
                  InputPoints2["X136_下料交互输入信号1模组继电器"] = DI95_下料交互输入信号1模组继电器;
                  InputPoints2["X137_下料交互输入信号2模组继电器"] = DI96_下料交互输入信号2模组继电器;
          
                  OutputPoints2["Y0_面板启动按钮灯"] = DO01_面板启动按钮灯;
                  OutputPoints2["Y1_面板停止按钮灯"] = DO02_面板停止按钮灯;
                  OutputPoints2["Y2_面板复位按钮灯"] = DO03_面板复位按钮灯;
                  OutputPoints2["Y3_手动自动按钮灯"] = DO04_手动自动按钮灯;
                  OutputPoints2["Y4_三色灯红灯1控2模组继电器"] = DO05_三色灯红灯1控2模组继电器;
                  OutputPoints2["Y5_三色灯黄灯1控2模组继电器"] = DO06_三色灯黄灯1控2模组继电器;
                  OutputPoints2["Y6_三色灯绿灯1控2模组继电器"] = DO07_三色灯绿灯1控2模组继电器;
                  OutputPoints2["Y7_三色灯蜂鸣器1控2模组继电器"] = DO08_三色灯蜂鸣器1控2模组继电器;
                  OutputPoints2["Y10_门禁锁电源1"] = DO09_门禁锁电源1;
                  OutputPoints2["Y11_门禁锁电源2"] = DO10_门禁锁电源2;
                  OutputPoints2["Y12_11"] = DO11_11;
                  OutputPoints2["Y13_12"] = DO12_12;
                  OutputPoints2["Y14_13"] = DO13_13;
                  OutputPoints2["Y15_14"] = DO14_14;
                  OutputPoints2["Y16_入料相机条光触发"] = DO15_入料相机条光触发;
                  OutputPoints2["Y17_入料相机背光触发"] = DO16_入料相机背光触发;
                  OutputPoints2["Y20_入料相机触发"] = DO17_入料相机触发;
                  OutputPoints2["Y21_读码相机光源触发"] = DO18_读码相机光源触发;
                  OutputPoints2["Y22_读码相机触发"] = DO19_读码相机触发;
                  OutputPoints2["Y23_取放料相机光源触发"] = DO20_取放料相机光源触发;
                  OutputPoints2["Y24_取放料相机触发"] = DO21_取放料相机触发;
                  OutputPoints2["Y25_日光灯继电器"] = DO22_日光灯继电器;
                  OutputPoints2["Y26_入料到位挡缸伸出电磁阀1控2"] = DO23_入料到位挡缸伸出电磁阀1控2;
                  OutputPoints2["Y27_入料到位挡缸缩回电磁阀1控2"] = DO24_入料到位挡缸缩回电磁阀1控2;
                  OutputPoints2["Y30_入料左右拍板气缸缩回电磁阀1控2"] = DO25_入料左右拍板气缸缩回电磁阀1控2;
                  OutputPoints2["Y31_入料左右拍板气缸伸出电磁阀1控2"] = DO26_入料左右拍板气缸伸出电磁阀1控2;
                  OutputPoints2["Y32_入料前后拍板气缸缩回电磁阀1控2"] = DO27_入料前后拍板气缸缩回电磁阀1控2;
                  OutputPoints2["Y33_入料前后拍板气缸伸出电磁阀1控2"] = DO28_入料前后拍板气缸伸出电磁阀1控2;
                  OutputPoints2["Y34_入料前后拍板上下气缸缩回电磁阀1控2"] = DO29_入料前后拍板上下气缸缩回电磁阀1控2;
                  OutputPoints2["Y35_入料前后拍板上下气缸伸出电磁阀1控2"] = DO30_入料前后拍板上下气缸伸出电磁阀1控2;
                  OutputPoints2["Y36_36"] = DO31_36;
                  OutputPoints2["Y37_37"] = DO32_37;
                  OutputPoints2["Y40_取放料真空1吸"] = DO33_取放料真空1吸;
                  OutputPoints2["Y41_取放料真空1吹"] = DO34_取放料真空1吹;
                  OutputPoints2["Y42_取放料真空2吸"] = DO35_取放料真空2吸;
                  OutputPoints2["Y43_取放料真空2吹"] = DO36_取放料真空2吹;
                  OutputPoints2["Y44_取放料真空3吸"] = DO37_取放料真空3吸;
                  OutputPoints2["Y45_取放料真空3吹"] = DO38_取放料真空3吹;
                  OutputPoints2["Y46_取放料真空4吸"] = DO39_取放料真空4吸;
                  OutputPoints2["Y47_取放料真空4吹"] = DO40_取放料真空4吹;
                  OutputPoints2["Y50_取放料真空5吸"] = DO41_取放料真空5吸;
                  OutputPoints2["Y51_取放料真空5吹"] = DO42_取放料真空5吹;
                  OutputPoints2["Y52_取放料真空6吸"] = DO43_取放料真空6吸;
                  OutputPoints2["Y53_取放料真空6吹"] = DO44_取放料真空6吹;
                  OutputPoints2["Y54_取放料真空7吸"] = DO45_取放料真空7吸;
                  OutputPoints2["Y55_取放料真空7吹"] = DO46_取放料真空7吹;
                  OutputPoints2["Y56_47"] = DO47_47;
                  OutputPoints2["Y57_48"] = DO48_48;
                  OutputPoints2["Y58_49"] = DO49_49;
                  OutputPoints2["Y61_飞达1定位缸伸出电磁阀"] = DO50_飞达1定位缸伸出电磁阀;
                  OutputPoints2["Y62_飞达1定位缸缩回电磁阀"] = DO51_飞达1定位缸缩回电磁阀;
                  OutputPoints2["Y63_飞达1抽屉按钮灯"] = DO52_飞达1抽屉按钮灯;
                  OutputPoints2["Y64_53"] = DO53_53;
                  OutputPoints2["Y65_飞达2定位缸伸出电磁阀"] = DO54_飞达2定位缸伸出电磁阀;
                  OutputPoints2["Y66_飞达2定位缸缩回电磁阀"] = DO55_飞达2定位缸缩回电磁阀;
                  OutputPoints2["Y67_飞达2抽屉按钮灯"] = DO56_飞达2抽屉按钮灯;
                  OutputPoints2["Y70_NG下料无杆缸缩回电磁阀"] = DO57_NG下料无杆缸缩回电磁阀;
                  OutputPoints2["Y71_NG下料无杆缸伸出电磁阀"] = DO58_NG下料无杆缸伸出电磁阀;
                  OutputPoints2["Y72_NG下料抽屉定位缸伸出电磁阀"] = DO59_NG下料抽屉定位缸伸出电磁阀;
                  OutputPoints2["Y73_NG下料抽屉定位缸缩回电磁阀"] = DO60_NG下料抽屉定位缸缩回电磁阀;
                  OutputPoints2["Y74_NG抽屉按钮灯"] = DO61_NG抽屉按钮灯;
                  OutputPoints2["Y75_62"] = DO62_62;
                  OutputPoints2["Y76_63"] = DO63_63;
                  OutputPoints2["Y77_64"] = DO64_64;
                  OutputPoints2["Y100_夹爪气缸1张开电磁阀"] = DO65_夹爪气缸1张开电磁阀;
                  OutputPoints2["Y101_夹爪气缸1闭合电磁阀"] = DO66_夹爪气缸1闭合电磁阀;
                  OutputPoints2["Y102_夹爪气缸2张开电磁阀"] = DO67_夹爪气缸2张开电磁阀;
                  OutputPoints2["Y103_夹爪气缸2闭合电磁阀"] = DO68_夹爪气缸2闭合电磁阀;
                  OutputPoints2["Y104_夹爪气缸3张开电磁阀"] = DO69_夹爪气缸3张开电磁阀;
                  OutputPoints2["Y105_夹爪气缸3闭合电磁阀"] = DO70_夹爪气缸3闭合电磁阀;
                  OutputPoints2["Y106_夹爪气缸4张开电磁阀"] = DO71_夹爪气缸4张开电磁阀;
                  OutputPoints2["Y107_夹爪气缸4闭合电磁阀"] = DO72_夹爪气缸4闭合电磁阀;
                  OutputPoints2["Y110_夹爪气缸5张开电磁阀"] = DO73_夹爪气缸5张开电磁阀;
                  OutputPoints2["Y111_夹爪气缸5闭合电磁阀"] = DO74_夹爪气缸5闭合电磁阀;
                  OutputPoints2["Y112_夹爪气缸6张开电磁阀"] = DO75_夹爪气缸6张开电磁阀;
                  OutputPoints2["Y113_夹爪气缸6闭合电磁阀"] = DO76_夹爪气缸6闭合电磁阀;
                  OutputPoints2["Y114_夹爪气缸7张开电磁阀"] = DO77_夹爪气缸7张开电磁阀;
                  OutputPoints2["Y115_夹爪气缸7闭合电磁阀"] = DO78_夹爪气缸7闭合电磁阀;
                  OutputPoints2["Y116_78"] = DO79_78;
                  OutputPoints2["Y117_79"] = DO80_79;
                  OutputPoints2["Y120_80"] = DO81_80;
                  OutputPoints2["Y121_81"] = DO82_81;
                  OutputPoints2["Y122_飞达1压料气缸"] = DO83_飞达1压料气缸;
                  OutputPoints2["Y123_飞达2压料气缸"] = DO84_飞达2压料气缸;
                  OutputPoints2["Y124_84"] = DO85_84;
                  OutputPoints2["Y125_85"] = DO86_85;
                  OutputPoints2["Y126_86"] = DO87_86;
                  OutputPoints2["Y127_87"] = DO88_87;
                  OutputPoints2["Y130_88"] = DO89_88;
                  OutputPoints2["Y131_89"] = DO90_89;
                  OutputPoints2["Y132_90"] = DO91_90;
                  OutputPoints2["Y133_91"] = DO92_91;
                  OutputPoints2["Y134_上料交互输出信号1模组继电器"] = DO93_上料交互输出信号1模组继电器;
                  OutputPoints2["Y135_上料交互输出信号2模组继电器"] = DO94_上料交互输出信号2模组继电器;
                  OutputPoints2["Y136_下料交互输出信号1模组继电器"] = DO95_下料交互输出信号1模组继电器;
                  OutputPoints2["Y137_下料交互输出信号2模组继电器"] = DO96_下料交互输出信号2模组继电器;
                }
    }
}